let count = 0;
let demo = new Proxy(new String(), {
  get: (target, propKey, receiver) => {
    console.log(count++, target, propKey);
    return target[propKey];
  }
});

// TODO: understand the multiply output
console.log(demo, demo instanceof String);

let demo2 = new Proxy({
  "a": "aaa",
  "b": "bbb"
}, {
  get: (target, propKey, receiver) => {
    console.log(count++, target, propKey);
  }
});

// TODO: understand the multiply output
console.log(demo2);